package top.hepingan.java.Aiconfig;



import dev.langchain4j.data.document.Document;
import dev.langchain4j.data.document.loader.FileSystemDocumentLoader;
import dev.langchain4j.data.document.parser.TextDocumentParser;
import dev.langchain4j.data.segment.TextSegment;
import dev.langchain4j.rag.content.retriever.ContentRetriever;
import dev.langchain4j.rag.content.retriever.EmbeddingStoreContentRetriever;
import dev.langchain4j.store.embedding.EmbeddingStoreIngestor;
import dev.langchain4j.store.embedding.inmemory.InMemoryEmbeddingStore;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

import java.time.LocalDateTime;
import java.util.List;


//@Component
//public class Ragthreadtimer {
//    private static final Logger logger = LoggerFactory.getLogger(Ragthreadtimer.class);
//
//    //Rag上传代码
//    private void executeDailyTask() {
//        // 在这里编写你的业务逻辑
//        // 从一个目录中加载所有文档
//        List<Document> documents = FileSystemDocumentLoader.loadDocuments("E:/knowledge", new
//                TextDocumentParser());
//        //使用默认的文档分割器
//        EmbeddingStoreIngestor.ingest(documents, embeddingStore);
//    }
//    //定时器
//
//    /**
//     * 每天凌晨 00:00:00 执行
//     * cron 表达式: 秒 分 时 日 月 周
//     */
//    @Scheduled(cron = "0/10 * * * * ?")
//    public void dailyMidnightTask() {
//        logger.info("定时任务开始执行 - 时间: {}", LocalDateTime.now());
//
//        try {
//
//            executeDailyTask();
//            logger.info("定时任务执行完成");
//        } catch (Exception e) {
//            logger.error("定时任务执行失败", e);
//        }
//    }
//}
